﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;

namespace SignalLab
{
  public partial class MainPage : PhoneApplicationPage
  {
    // Constructor
    public MainPage()
    {
      InitializeComponent();

      // Set the data context of the listbox control to the sample data
      DataContext = App.ViewModel;
      this.Loaded += new RoutedEventHandler(MainPage_Loaded);
    }

    // Load data for the ViewModel Items
    private void MainPage_Loaded(object sender, RoutedEventArgs e)
    {
      if (!App.ViewModel.IsDataLoaded)
      {
        App.ViewModel.LoadData();
      }
    }

    private void lbxQuickMenu_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
      var item = e.AddedItems.OfType<ItemViewModel>().FirstOrDefault();
      if (item == null) return;

      NavigationService.Navigate(new Uri(item.LineTwo, UriKind.Relative));
      lbxQuickMenu.SelectedIndex = -1;
    }

    private void lbxSettings_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
      var item = e.AddedItems.OfType<SettingItemViewModel>().FirstOrDefault();
      if (item == null) return;
      AppManager.Instance.CurrentSetting = item;
      if (item.SettingName == "Categories")
      {
        NavigationService.Navigate(new Uri("/CategoriesEditor.xaml", UriKind.Relative));
      }
      else
      {
        NavigationService.Navigate(new Uri("/SettingsEditor.xaml", UriKind.Relative));
      }
      lbxSettings.SelectedIndex = -1;
    }

  }
}